package com.relytosoft.mizar.media.common.entity.pojo.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.ArrayList;

/**
 * 人脸布控请求实体
 *
 * @Author SunLi
 * @Date: 2022/5/17 11:53
 * @Version 1.0
 */
@ApiModel("人脸布控任务请求实体")
public class FaceDispositionReqDto implements Serializable {

    /**
     * 我司布控任务主键ID
     */
    @ApiModelProperty(value = "布控任务主键ID")
    private Integer id;

    /**
     * 设备ID
     */
    @ApiModelProperty(value = "设备ID")
    private String deviceId;

    /**
     * 布控开始时间
     */
    @ApiModelProperty(value = "布控开始时间，预留")
    private Long startTime;

    /**
     * 布控结束时间
     */
    @ApiModelProperty(value = "布控结束时间，预留")
    private Long endTime;

    /**
     * 布控类型
     * 1 图片布控 2 人像库布控
     */
    @ApiModelProperty(value = "布控类型 1图片布控 2人脸库布控")
    private Integer type;

    /**
     * 相似度
     */
    @ApiModelProperty(value = "相似度")
    private Double threshold;

    /**
     * 特征向量
     */
    @ApiModelProperty(value = "特征值")
    private String featureData;

    /**
     * 人脸库
     */
    @ApiModelProperty(value = "人脸库")
    private ArrayList<String> groupIds;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public Long getStartTime() {
        return startTime;
    }

    public void setStartTime(Long startTime) {
        this.startTime = startTime;
    }

    public Long getEndTime() {
        return endTime;
    }

    public void setEndTime(Long endTime) {
        this.endTime = endTime;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Double getThreshold() {
        return threshold;
    }

    public void setThreshold(Double threshold) {
        this.threshold = threshold;
    }

    public String getFeatureData() {
        return featureData;
    }

    public void setFeatureData(String featureData) {
        this.featureData = featureData;
    }

    public ArrayList<String> getGroupIds() {
        return groupIds;
    }

    public void setGroupIds(ArrayList<String> groupIds) {
        this.groupIds = groupIds;
    }

    @Override
    public String toString() {
        return "DispositionReqDto{" +
                "id=" + id +
                ", deviceId='" + deviceId + '\'' +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", type=" + type +
                ", threshold=" + threshold +
                ", featureData='" + featureData + '\'' +
                ", groupIds=" + groupIds +
                '}';
    }
}
